package com.fz.service.system;

import com.fz.common.ResponseEntity;
import com.fz.dto.system.user.UserAdd;
import com.fz.dto.system.user.UserQuery;
import com.fz.dto.system.user.UserUpd;
import com.fz.entity.system.User;
import com.fz.vo.system.user.UserVo;
import org.springframework.security.core.GrantedAuthority;
import java.util.Collection;

/**
 * @author Administrator
 */
public interface UserService {
    User findUserByLoginid(String loginid);

    Collection<GrantedAuthority> mapToRoleAuthoritiesMenu(String userId);


    /**
     * 查询用户的分页
     *
     * @param pageNum   页码
     * @param pageSize  页数
     * @param userQuery 查询条件
     * @return
     */
    ResponseEntity<UserVo> findUserList(Integer pageNum, Integer pageSize, UserQuery userQuery) throws Exception;

    /**
     * 修改用户
     *
     * @param userUpd 用户
     * @return
     */
    ResponseEntity updateUser(UserUpd userUpd) throws Exception;

    /**
     * 新增用户
     *
     * @param userAdd 用户
     * @return
     */
    ResponseEntity saveUser(UserAdd userAdd) throws Exception;

    /**
     * 删除用户
     *
     * @param ids  主键ID以逗号分割
     * @return
     */
    ResponseEntity delUser(String ids) throws Exception;

    /**
     * 查询用户非分页
     *
     * @param userQuery 查询条件
     * @return
     */
    ResponseEntity<UserVo> selectUsersList(UserQuery userQuery) throws Exception;
}
